package services;

import java.util.List;

import pedidos.ejercicio.dao.MainDAO;
import pedidos.ejercicio.model.Categoria;
import pedidos.ejercicio.model.Cliente;
import pedidos.ejercicio.model.DetallePedido;
import pedidos.ejercicio.model.FormaPago;
import pedidos.ejercicio.model.Item;
import pedidos.ejercicio.model.Pedidos;

public class PedidosServer {
	private MainDAO dao;
	
	public PedidosServer() {
		dao = new MainDAO();
	}
	
	public List<Categoria> listAllCategorias() {
		return dao.listAllCategorias();
	}

	public Categoria searchCategoriaById( String id ) {
		return dao.searchCategoriaById(new Integer(id));
	}
	
	public List<Item> listItemsByCategoria(){
		return dao.listItemsByCategoria();
	}
	
	public Item searchItemById( Integer id ) {
		return dao.searchItemById(id);
	}
	
	public List<Cliente> listClientesOrderedByCiudad() {
		return dao.listClientesOrderedByCiudad();
	}
	
	public Cliente searchClienteByCedula( String cedula ) {
		return dao.searchClienteByCedula(cedula);
	}
	
	public List<DetallePedido> listDetallesOfPedido( String idpedido ) {
		return dao.listDetallesOfPedido(idpedido);
	}

	public List<Pedidos> listPedidosOfCliente( String cedula ) {
		Cliente cliente = dao.searchClienteByCedula(cedula);
		return dao.listPedidosOfCliente(cliente);
	}
	
	public List<Pedidos> listPedidosInStatus( String status ){
		return dao.listPedidosInStatus(status);
	}
	
	public List<Pedidos> listPedidosByDateRangelAndCiudad( 
			String ciudad, String fechaInicial, String fechaFinal ) 
			throws java.text.ParseException {
		return dao.listPedidosByDateRangelAndCiudad(ciudad, fechaInicial, fechaFinal);
	}

	public List<String> listAllPosibleStatuses() {
		return dao.listAllPosibleStatuses();
	}

	public Double getTotalPaidOfPedido ( String idPedido ) {
		return dao.getTotalPaidOfPedido( new Integer(idPedido));
	}
	
	public List<Pedidos> listAllPedidos () {
		return dao.listAllPedidos();
	}

	public List<FormaPago> listAllPagos () {
		return dao.listAllPagos();
	}
}
